\chapter{Analýza původní aplikace}\label{chap:analysis}

Původní aplikace byla vytvořena kolegou Bc. Pavlem Kraftem v rámci bakalářské práce. Pro samotnou implementaci byl zvolen .NET framework s~technologií WPF (\ref{sec:wpf}) a technikou ,,Rychlého vývoje'' (viz kapitola \ref{sec:fastdev}), což má negativní dopad na rošiřitelnost aplikace.

Jeho práce je rozdělena do dvou částí. V první části se navrhuje půdorys a umisťují se jednotlivé panely na zdi. V druhé části se pak změní projekce z ,,ptačí perspektivy'' do pohledu ,,ze předu'' na zdi. Uživateli je zde umožněno kreslit obrazce na zdi a prohlížet si je ze všech světových stran. Během projekce je uživatel upozorněn, pokud jsou rozměry na protějších stranám rozdílné a je pouze na něm, jak si s tímto poradí. Dále je umožněno ukládání rozpracovaného návrhu do specifického binárního formátu.

\section{Kritická místa}
Cílem následující sekce je mimo jiné vytipovat kritická místa původní aplikace.

\subsection{Návrh půdorysu}
Základním tvarem půdorysu je obdélník. Pomocí zmenšování/zvětšování a~rozdělování stěn lze tento tvar libovolně měnit. Jednotlivé délky stěn se odvíjejí od fixní délky jednoho panelu a navíc nelze vytvořit zeď šikmou. 
Uživatelské ovládání je místy nelogické a nebo minimálně ,,přes ruku''.

\begin{itemize}
	\item pevná délka stěny
	\item nemožnost tvorby šikmých stěn
	\item uživatelské ovládání
\end{itemize}

\subsection{Umisťování panelů}
Na předpřipravený půdorys lze v této části přidávat různé typy panelů, například okna, balkóny, dveře či čisté stěny. Jak lze vidět na obrázku \ref{fig:craft_base}, tato část je udělána vhodně a jediné, co by se tomu dalo vytknout je, že jednotlivé panely jsou umisťovány na stejně dlouhou plochu ač je velikost panelů různá.

\begin{itemize}
	\item různá velikost panelu
\end{itemize}

\begin{figure}[h!tb]
\begin{center}
\includegraphics[width=1.0\textwidth]{img/craft_base}
\end{center}
\caption{Návrh půdorysu domu}
\label{fig:craft_base}
\end{figure}

\subsection{Kreslení na stěny}
Po přepnutí do projekce umožňuje aplikace prohlížet panelový dům ze všech světových stran. Při této projekci lze zároveň kreslit na jednotlivé plochy domu, jak lze vidět na obrázku \ref{fig:craft_projection}.

Ovládání není příliš uživatelsky přívětivé. Velkou nevýhodou pak je nemožnost vyexportovat dílčí stěny a ponechat kreslení na některém z jiných nástrojů.

\begin{itemize}
	\item nemožnost exportu do obrazového formátu
	\item uživatelské ovládání
\end{itemize}

\begin{figure}[h!tb]
\begin{center}
\includegraphics[width=1.0\textwidth]{img/craft_projection}
\end{center}
\caption{Zobrazení domu a kreslení}
\label{fig:craft_projection}
\end{figure}

\subsection{Struktura aplikace}
Celá aplikace je postavena na jediném okně a layout je stále stejný. Rozpracovaná data lze načíst a uložit, ale chybí tomu jistá přidaná hodnota. Pokud si dá uživatel tu práci a namodeluje si panelový dům dle svýh představ, tak nedostane nic, jen primitivní nástroj na kreslení na předpřipravené stěny. Tyto pohledy navíc nijak nezohleďňují zalomení stěn.

Výstupní formát je binární, takže dekódovat takto připravený soubor z~aplikace třetí strany je velice obtížné. 

Této jednoduché struktuře odpovídá i architektura samotné aplikace. Většina částí je vygenerována pomocí nástrojů \textit{Microsoft Visual Studio} nebo \textit{Microsoft Expression Blend}. 

\subsection{Shrnutí}
Může se zdát, že původní aplikace má jen samá negativa. Chtěl bych zde zdůraznit, že tomu tak není. Autor původní bakalářské práce vytyčil směr, jakým by se měl vývoj takovéto aplikace odvíjet a svojí prací ukázal způsob, jakým by se měla ubírat.

Do této práce se pokusím přidat své poznatky z vývoje desktopových aplikací, navázat na myšlenku P. Krafta a posunout tuto aplikaci dále.

\section{Nápady na inovace}
Cílem této práce je výše uvedené nedostatky pokud možno odstranit, aplikaci vylepšit a rozšířit. 
Samotný koncept návrhu panelového domu od půdorysu, přes doplnění specifických panelů až po samotné kreslení se nikterak měnit nebude. 

Návrh půdorysu bude rozšířen o možnost kreslení obecného polygonu a~velikost stěn nebude omezena na velikost panelu. Při umisťování panelů bude brána v potaz velikost panelů.
Kreslení na stěny bude vylepšeno o možnost exportu do obecného obrazového formátu.

Zásadní částí nové práce pak bude promítnutí výsledku do trojrozměrné podoby, což by mělo přiblížit aplikaci široké veřejnosti. Dále také připravit takovou architekturu aplikace, aby byla do budoucna snáze rozšiřitelná.

